package com.ukadas.eduko.controlador;

import java.io.Serializable;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.RequestScoped;
import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;

import com.ukadas.eduko.modelo.mtm.AlumnoProyecto;
import com.ukadas.eduko.modelo.mtm.CursoProyecto;
import com.ukadas.eduko.negocio.mtm.GestorAlumnosProyectos;
import com.ukadas.eduko.negocio.mtm.GestorCursosProyectos;

@ManagedBean(name="alumnos_proyectosBB")
@RequestScoped
public class AlumnosProyectosBB implements Serializable {

	private static final long serialVersionUID = 1L;

	private AlumnoProyecto alumnoProyecto = new AlumnoProyecto();

	@ManagedProperty(value="#{gestorAlumnosProyectos}")
	private GestorAlumnosProyectos gestorAlumnosProyectos;
	@ManagedProperty(value="#{gestorCursosProyectos}")
	private GestorCursosProyectos gestorCursosProyectos;

	private UsuarioSesionBB usuarioSesionBB;
		
	public AlumnoProyecto getAlumnoProyecto() {
		return alumnoProyecto;
	}

	public void setAlumnoProyecto(AlumnoProyecto alumnoProyecto) {
		this.alumnoProyecto = alumnoProyecto;
	}
	
	public void setUsuarioSesionBB(UsuarioSesionBB usuarioSesionBB) {
		this.usuarioSesionBB = usuarioSesionBB;
	}

	public void setGestorAlumnosProyectos(GestorAlumnosProyectos gestorAlumnosProyectos) {
		this.gestorAlumnosProyectos = gestorAlumnosProyectos;
	}
	
	public void setGestorCursosProyectos(GestorCursosProyectos gestorCursosProyectos) {
		this.gestorCursosProyectos = gestorCursosProyectos;
	}

	public List<AlumnoProyecto> getListaAlumnosProyectos()  {
		return gestorAlumnosProyectos.listarTodos();
	}
	
	public List<AlumnoProyecto> getListaAlumnosTutorYCurso() {
		ExternalContext contexto=FacesContext.getCurrentInstance().getExternalContext();	
		usuarioSesionBB=(UsuarioSesionBB) contexto.getSessionMap().get("usuarioSesionBB");
		
		int idTutor=usuarioSesionBB.getUsuario().getPersona().getIdPersona();
		return gestorAlumnosProyectos.buscarPorTutor(idTutor);
	}	
	
	public List<AlumnoProyecto> buscarPorCurso(String idCursoProyecto){
		ExternalContext contexto=FacesContext.getCurrentInstance().getExternalContext();	
		usuarioSesionBB=(UsuarioSesionBB) contexto.getSessionMap().get("usuarioSesionBB");	
	
		int id=41;
		
		try{
			id=Integer.parseInt(idCursoProyecto);
		}catch(Exception ex){
			System.out.println(ex.getMessage());
			System.out.println("ID= " + id);
		}
		
			CursoProyecto cursoProyecto= gestorCursosProyectos.buscar(id);
			int idTutor=usuarioSesionBB.getUsuario().getPersona().getIdPersona();
			
			List<AlumnoProyecto> lista= gestorAlumnosProyectos.buscarPorCurso(cursoProyecto,idTutor);	
			System.out.println(lista);
			return lista;	
		
	
	}
	
}
